package targetToOffer.thirteenthDay;

/**
 * @author Godc
 * @description
 */
public class IsBalanced {
}
class IsBalancedSolution {
    public boolean isBalanced(TreeNode root) {
        return depth(root)>=0;
    }
    public int depth(TreeNode root){
        // 从底向上判断，如果当前节点是平衡树就返回高度，如果不是就返回-1，如果是就返回当前高度
        if(root==null) return 0;
        int left = depth(root.left);
        int right = depth(root.right);
        if(left==-1||right==-1||Math.abs(left-right)>1)
            return -1;
        else{
            return Math.max(left,right)+1;
        }
    }
}